package com.gl.glbooks.vos
{
	import mx.collections.ArrayCollection;
	
	[Bindable]
	
	[RemoteClass( alias="com.gl.glbooks.vos.LibroFisico" )]
	
	public class LibroFisico extends Libro implements IDisponibilidadLibro
	{
		
		public var ISBN:String;
		public var disponibles:int = 0;
		public var ejemplar:ArrayCollection = new ArrayCollection();
		
		public function LibroFisico()
		{
		}
		
		
		public function get disponibilidad():String
		{
			var disponibles:int = 0;
			for each (var ejem:Ejemplar in ejemplar)
			{

				if ( ejem.estadoEjemplar == "disponible" && ejem.fechaBaja == null){
					disponibles++;
				}
			}
			ejemplar.filterFunction = ejemplarFilterFunction;
			ejemplar.refresh();
			return (disponibles + "/" + ejemplar.length);
		}
		
		private function ejemplarFilterFunction( obj:Object ):Boolean
		{
			if( obj is Ejemplar )
			{
				var ejemplar:Ejemplar = obj as Ejemplar;
				
				if( ejemplar.fechaBaja == null)
				{	
					return true;
				}
			}	
			return false;
		}
		
		
		

	}
}